<?php


/**
 * pagina actions.
 *
 * @package    mazinger
 * @subpackage pagina
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 9301 2008-05-27 01:08:46Z dwhittle $
 */
class paginaActions extends sfActions
{
	/**
     * Executes index action
     *
     * @param sfRequest $request A request object
     */
	public function executeIndex($request)
	{
		$this -> getUser()->setCulture('es');
		$this -> getUser()->setAttribute('modo','backend');

		$this -> modo = $this -> getUser() -> getAttribute('modo','frontend');

		$eIdPagina = $request -> getParameter('id_pagina', '1');
		$this -> getUser() -> setAttribute('id_pagina', $eIdPagina);

		// Nombre de la página
		$oPagina = PaginasPeer::retrieveByPK($eIdPagina);
		$this -> tPagina = array();
		$this -> tPagina['nombre'] = $oPagina -> getNombre();
		$this -> tPagina['clase'] = $oPagina -> getClase();
		$this -> tPagina['id']    = $eIdPagina;


		// Enlaces de navegación
		$c = new Criteria();
		$c -> add(EnlacesPeer::ID_PAGINA_DESDE, $eIdPagina);
		$toEnlaces = EnlacesPeer::doSelect($c);

		$this -> tEnlaces = array();
		$i=0;
		foreach ($toEnlaces as $oEnlace)
		{
			$this -> tEnlaces[$i]['nombre'] = $oEnlace -> getNombre();
			$this -> tEnlaces[$i]['url']    = 'pagina/index?id_pagina='.$oEnlace -> getIdPaginaHasta();
			$this -> tEnlaces[$i]['clase']  = ($oEnlace -> getClase() == null) ? 'enlace_menu' : $oEnlace -> getClase();
			$i++;
		}

		// Componentes
		$c -> clear();
		$c -> add(ComponentesPeer::ID_PAGINA, $eIdPagina);
		$toComponentes = ComponentesPeer::doSelect($c);

		$this -> tComponentes = array();
		$i=0;
		foreach ($toComponentes as $oComponente)
		{
			$oTipoComponente = $oComponente -> getTiposComponentes();
			$idComponente    = $oComponente -> getIdComponenteconcreto();
			$tablaComponente = $oTipoComponente -> getTabla();
			//$aClasePeer      = sfInflector::camelize($aTablaAmbito).'Peer';

			//$oComponenteConcreto = call_user_func(array($aClasePeer,"retrieveByPK"),$idComponente);

			$this -> tComponentes[$i]['nombre']       = $oTipoComponente -> getNombre();
			$this -> tComponentes[$i]['id']           = $idComponente;
			$i++;
		}

	}


}
